// pages/dongtai/dongtai.js
const {request, showTip} = require("../common/request");

//动态计算当前页面的可滚动的高度
function getScrollHeight(){
    // 计算滚动区域的高度：屏幕高度 - 导航栏高度 - 底部安全区域高度
    return  wx.getSystemInfoSync().windowHeight - 180;
}

Page({

    /**
     * 页面的初始数据
     */
    data: {
        scrollHeight:getScrollHeight(),
        articleList:[],
        page: 1, // 当前页码
        pageSize: 10, // 每页数据数量
        hasMoreData: false // 是否还有更多数据
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        initArticleList(this);//获取动态列表
    },
    onShow() {
        initArticleList(this);//获取动态列表
    },
    onReachBottom() {
        // 页面触底时加载更多数据
        getMoreArticleList(this);
    },
    // 下拉刷新触发时执行
    onPullDownRefresh() {
        wx.showLoading({ title: '刷新中...' });
        initArticleList(this);//获取动态列表
        wx.stopPullDownRefresh();// 停止刷新动画
        wx.hideLoading();
    },
    geDetail(e){//去详情页面
        const id = e.currentTarget.dataset.id;
        wx.navigateTo({
            url: '/pages/dongtai/dongtai_detail?id='+id,
        });
    }
})

/**
 * 获取动态
 * @param param
 */
const initArticleList = (_this) => {
    //获取动态列表
    request({
        url:'/yoga_business/wechat/article/pageList',
        method:'POST',
        data:{
            "page": 1,
            "size": 10
        },
        success(res) {
            if(res.success){
                _this.data.hasMoreData = res.content.total > (10);
                _this.setData({
                    articleList:res.content.list,
                    page:1,
                    pageSize:10
                })
            }else{
                showTip(res.message);
            }
        },
        fail(msg) {
            console.log('POST请求失败', msg);
        }
    });
};

/**
 * 获取动态
 * @param _this
 */
const getMoreArticleList = (_this) => {
    //获取动态列表
    request({
        url:'/yoga_business/wechat/article/pageList',
        method:'POST',
        data:{
            "page": _this.data.page+1,
            "size": _this.data.pageSize
        },
        success(res) {
            if(res.success){
                _this.data.hasMoreData = res.content.total > (_this.data.page * _this.data.pageSize);
                if(_this.data.hasMoreData){
                    _this.setData({
                        articleList:_this.data.articleList.concat(res.content.list),
                        page:_this.data.page+1
                    });
                }
            }else{
                showTip(res.message)
            }
        },
        fail(msg) {
            console.log('POST请求失败', msg);
        }
    });
};